/***************************************************************************
 *   Copyright (C) 2008 by Thomas Fannes                                   *
 *   thomasfannes@gmail.com                                                *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
#include "Corner.h"
#include "HexGrid.h"

namespace structure
{
	const HexVector Corner::AdjHexagons[2][3]
			= {{ HexVector(+4,-2,-2), HexVector(-2,-2,+4), HexVector(-2,+4,-2)},
				{ HexVector(+2,+2,-4), HexVector(+2,-4,+2), HexVector(-4,+2,+2)}};

	const HexVector Corner::AdjCorners[2][3]
			= {{ HexVector(+0,+0,-6), HexVector(+0,-6,+0), HexVector(-6,+0,+0)},
				{ HexVector(+6,+0,+0), HexVector(+0,+0,+6), HexVector(+0,+6,+0)}};

	const HexVector Corner::AdjSides[2][3]
			= {{ HexVector(+0,+0,-3), HexVector(+0,-3,+0), HexVector(-3,+0,+0)},
				{ HexVector(+3,+0,+0), HexVector(+0,+0,+3), HexVector(+0,+3,+0)}};

	Corner::Corner(const HexVector & vct)
	: Element(vct)
	{
		arHexagons = new Hexagon*[3];
		arSides = new Side*[3];
		arCorners = new Corner*[3];

		iType = HexGrid::CheckCornerType(vct);
	}


	Corner::~Corner()
	{
	}
}
